The present invention relates generally to networks, and more particularly to provisioning a label switched path (LSP) across two or more networks.
In order to provide customers with the ability to communicate between two independent locations, a Communications Network Provider or an Internet Service Provider (ISP) typically has to combine multiple circuit segments of one or more networks into a single communication path. In more detail, each circuit segment may only span a portion of the single communication path. Sometimes, the devices (switches, routers) in the different networks can communicate with each other in order to set up the entire communication path. In other instances, however, devices in different segments of different networks cannot communicate with each other because either they communicate using different protocols or one node cannot handle the complexity of the communication protocol used by another node.
One communication protocol often used to facilitate communication within a network and across networks is the Multiprotocol Label Switching (MPLS) protocol. MPLS enables the provisioning of virtual circuits, or label switched paths (LSPs), across IP networks. Variants of MPLS or similar protocols have also been used in Optical and ATM networks as well. In particular, MPLS involves setting up a specific path for a given sequence of packets. The path is identified by a label in each packet. Routers use the label to direct a packet to its next hop until it reaches its destination. This label saves a router the time conventionally needed to look up the destination IP address in each packet and forward the packet based on this IP address. The label is swapped with a different label at each hop. Often, multiple labels are used. Multiple paths can be defined between two endpoints to provide load balancing and backup service in the event of a line failure. LSPs are set up for two purposes. The first is to allow network routers to forward packets to each other. The second is to directly connect two customer locations across the network.
An MPLS network includes several network elements. These network elements include Label Edge Routers (LERs) and Label Switching Routers (LSRs). Nodes belonging to other networks communicating with an MPLS network communicate with Label Edge Routers (LERs). LERs are devices that connect to other networks communicating with an MPLS network, determine routes, and add or remove labels from packets. LSRs are devices that switch packets and add or remove labels from packets.
In more detail, when packets enter an MPLS-based network, Label Edge Routers (LERs) provide the packets with a label (i.e., an identifier) and sometimes even with a stack of labels. Each successive router that encounters this packet will “pop” (remove) one or more labels from one end of the stack of labels. The labels contain an index into a routing table stored by routers. The index specifies the next hop for the packet and any labels that need to be “pushed” (added) on the stack of labels. The label carries the information that determines which path a packet should take.
Once the LERs determine how to route packets with the same (group of) destination IP addresses, they set up LSPs for each of the routes and associate labels with each hop of the LSP. Paths can be engineered using manual or automatic techniques. MPLS supports explicit routing, in which network engineers define specific paths across a network for specific types of traffic. MPLS also supports constraint-based routing, in Which the path is selected dynamically. Constraint-based routing involves programming traffic-engineering parameters into the network.
The traditional way to set up an LSP is to select one endpoint node (i.e., endpoint) of the LSP as the source and the other endpoint of the LSP as the destination. The source node (also referred to below as source router) typically determines the route of the LSP and then communicates with each router in the route to set up the LSP. These communications involve complex routing and signaling protocols, such as the MPLS suite of protocols.
MPLS processing (e.g., the labeling of the packets, the determination of an LSP for different packets, etc.) requires processing capabilities beyond a limited set of capabilities. In order for an endpoint node to perform the functions (e.g., the provisioning of an LSP) of a source, the endpoint node has to be capable of executing the full suite of MPLS and/or network inter-working protocols. This, however, is often not the case. The devices on customer premises typically have limited capabilities. These devices often do not have the power to execute a full complement of routing, signaling, and inter-working protocols. Typically, the ability to run a full routing protocol in order to exchange network topology information and to calculate a path for an LSP is not provided in these devices. The set of signaling functions may be reduced to accepting and completing LSP set up requests that are originated by another device.
For example, it may be desirable to share data between two office locations. Routers at the customer premises (i.e., each office location), however, are typically not capable of communicating using the full suite of MPLS. These routers (at the customer premises) can frequently communicate with the more complex network devices, but these communications can only utilize a limited set of functions due to the customer premises equipment's limited capabilities.
Thus, a new way of setting up an LSP is needed using customer premises equipment capable of executing only a limited set of MPLS functions.